In recent decades numerous types of electronic devices have appeared on the market with ever increasing functionality which has been enabled by a continued increase in digital processing capabilities. For example, energy-frugal sensor nodes enable securely logging and/or transmitting all kinds of sensory data, household appliances—such as for example washing machines and kitchen ovens—get more and more features to control both their primary process as well as their energy consumption, and electronic watches and time-controlled electric plugs (also known as time switches) have a plethora of functions nowadays.
For many of these devices, their user interaction means have not kept up with the increase in functionality. For example, an energy-frugal sensor node is very small and may not be able to accommodate more user interaction means than just one or two buttons. Also, it is very energy-constrained and may therefore not be able to drive a display or even just a few LED's. Electronic watches and time-controlled electric plugs do have a display, but typically have very few buttons to control their operation, making a simple task—such as setting the time—a tedious task for many end-users.
There are prior art methods which control a first device by utilizing user interaction means on a second device. For example, it is known for a UPnP device to expose a user interface to another UPnP device (see “Remote UI Client and Server V 1.0” by the UPnP Forum, retrievable from http://upnp.org/specs/rui/remoteui/). UPnP devices are connected by means of a (wired or wireless) IP connection. Similarly, it is known for a computing device to take control of another computing device using remote desktop protocols such as RDP and VNC (see “Remote Desktop Protocol” by Microsoft, retrievable from http://msdn.microsoft.com/en-us/library/aa383015.aspx, and “Virtual Network Computing” by Wikipedia, retrievable from http://en.wikipedia.org/wiki/Virtual_Network_Computing). These protocols also take place over a (wired or wireless) IP connection. Most of these solutions are primarily meant to enable controlling a device from another location. The controlled device may or may not have rich user interaction means of its own, i.e. a local user interface.
Design constraints for a device—for example cost, form factor, power budget, or the physical environment that the device is to be deployed in—may limit the possibilities for user-friendly interaction with that device. Specifically, it may not be possible to equip the device with rich user interaction means, such as a touch screen. Instead, the device may have been equipped with very simple user interaction means, for example very few buttons which much be pressed in a specific sequence to use certain functionality on the device.
Interaction using such simple means is far from intuitive and may cause, at least, a lot of frustration and wasted time for end-users. Effectively, it may even mean that an end-user is not able to perform a desired task using the device at all. If the user would have had the ability to control the same device with a rich user interface instead, such as a touch screen, he/she would have been able to complete the desired tasks quicker, more reliably, and with less frustration. In the light of the ever increasing functionality enabled by such devices, this problem will only intensify.
Existing remote user interface (UI) solutions (such as UPnP RUI, RDP or VNC) require a data connection to be established between the device to be controlled and the device providing the user interaction means. This may be a wired or a wireless data connection (for example a Wi-Fi connection). Establishing a wired or wireless data connection requires additional actions on behalf of the end-user and is often cumbersome. Furthermore, requiring a device to possess a wired or wireless interface for such a data connection may conflict with constraints such as low cost, low power usage and/or small form factor.